import pygame
import time
import sys
import winsound #声音模块
from pygame.locals import *
'''这是为游戏编写的一个类'''
class Goku():
    def __init__(self,screen,pos_x=400,pos_y=300):  #注意这里可以指定缺省值
        self.screen=screen
        self.image=pygame.image.load('C:\\Users\\zyx\\Desktop\\Game\\Goku.bmp').convert()
        self.rect=self.image.get_rect()    #获得要加载的游戏图像的矩形对象
        self.screen_rect=screen.get_rect() #获取屏幕的矩形对象
        self.rect.centerx=pos_x 
        self.rect.centery=pos_y #让人物的初始位置为游戏屏幕的中心
    def draw(self):
        self.screen.blit(self.image,self.rect)
    def move(self,dirx,diry):
        self.rect.centerx+=dirx
        self.rect.centery+=diry
        
'''下面是为该类写的一段测试代码'''
if __name__=='__main__':
    pygame.init()
    pygame.mixer.init() #初始化混音器
    pygame.time.delay(1000) #等待1秒让mixer完成初始化
   # winsound.PlaySound('move.wav', winsound.SND_ASYNC)  #这个应该可以播放背景音乐
    sound=pygame.mixer.Sound('move.wav')
    screen=pygame.display.set_mode((800,600),0,32) #这里注意是一个元祖
    pygame.display.set_caption('Goku yo')
    goku=Goku(screen)
   
    
    while True:
        for event in pygame.event.get():
            if event.type==QUIT:
                pygame.quit()
                sys.exit()
            elif event.type==KEYDOWN:
                if event.key==K_RIGHT:
                    sound.play()
                    time.sleep(0.15)
                    goku.rect.centerx+=150
                    
                elif event.key==K_LEFT:
                    time.sleep(0.15)
                    sound.play()
                    
                    goku.rect.centerx-=150
                    
                elif event.key==K_UP:
                    time.sleep(0.15)
                    sound.play()
                    
                    goku.rect.centery-=120
                    
                elif event.key==K_DOWN:
                    time.sleep(0.15)
                    sound.play()
                    
                    goku.rect.centery+=120
                    
                elif event.key==K_ESCAPE:
                    pygame.quit()
                    sys.exit()
        screen.fill((255,255,255))
        goku.draw()
        pygame.display.update()





















        
        
